negotiator.boaframework.offeringstrategy.other
Class GeniusTimeDependent_Offering

java.lang.Object
  extended by negotiator.boaframework.OfferingStrategy
      extended by negotiator.boaframework.offeringstrategy.other.GeniusTimeDependent_Offering

public class GeniusTimeDependent_Offering
extends OfferingStrategy

The problem with the default TDT, is that when the negotiation starts, some time has already passed. For small domains this amount is negligible. However, for big domains this often results in the first offer not being the best possible offer.

Author:
Mark Hendrikx

Field Summary
 
Fields inherited from class negotiator.boaframework.OfferingStrategy
endNegotiation, helper, negotiationSession, nextBid, omStrategy, opponentModel
 
Constructor Summary
GeniusTimeDependent_Offering()
          Empty constructor used for reflexion.
GeniusTimeDependent_Offering(NegotiationSession negoSession, OpponentModel model, OMStrategy oms, double e, double k, double max, double min)
           
 
Method Summary
 BidDetails determineNextBid()
          Simple offering strategy which retrieves the target utility and finds
 BidDetails determineOpeningBid()
          Determines the first bid to be offered by the agent
 double f(double t)
          From [1]: A wide range of time dependent functions can be defined by varying the way in which f(t) is computed.
 void init(NegotiationSession negoSession, OpponentModel model, OMStrategy oms, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Initializes the offering strategy.
 double p(double t)
          Makes sure the target utility with in the acceptable range according to the domain
 
Methods inherited from class negotiator.boaframework.OfferingStrategy
endSession, getHelper, getNextBid, isEndNegotiation, loadData, setNextBid, storeData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeniusTimeDependent_Offering

public GeniusTimeDependent_Offering()
Empty constructor used for reflexion. Note this constructor assumes that init is called next.


GeniusTimeDependent_Offering

public GeniusTimeDependent_Offering(NegotiationSession negoSession,
                                    OpponentModel model,
                                    OMStrategy oms,
                                    double e,
                                    double k,
                                    double max,
                                    double min)
Method Detail

init

public void init(NegotiationSession negoSession,
                 OpponentModel model,
                 OMStrategy oms,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Description copied from class: OfferingStrategy
Initializes the offering strategy. If parameters are used, this method should be overridden.

Overrides:
init in class OfferingStrategy
Parameters:
negoSession - state of the negotiation.
model - opponent model which may be used.
oms - opponent model strategy which may be used.
parameters - optional parameters for the offering strategy.
Throws:
java.lang.Exception - if the offering strategy fails to initialize.

determineOpeningBid

public BidDetails determineOpeningBid()
Description copied from class: OfferingStrategy
Determines the first bid to be offered by the agent

Specified by:
determineOpeningBid in class OfferingStrategy
Returns:
the opening bid of the agent.

determineNextBid

public BidDetails determineNextBid()
Simple offering strategy which retrieves the target utility and finds

Specified by:
determineNextBid in class OfferingStrategy
Returns:
bid to offer to the opponent.

f

public double f(double t)
From [1]: A wide range of time dependent functions can be defined by varying the way in which f(t) is computed. However, functions must ensure that 0 <= f(t) <= 1, f(0) = k, and f(1) = 1. That is, the offer will always be between the value range, at the beginning it will give the initial constant and when the deadline is reached, it will offer the reservation value.


p

public double p(double t)
Makes sure the target utility with in the acceptable range according to the domain

Parameters:
t -
Returns:
double